package com.yxinsur.imc.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yxinsur.imc.business.domain.ImcCommRisk;
import com.yxinsur.imc.business.form.CommRiskForm;
import com.yxinsur.imc.business.vo.CommRiskVo;

import java.util.List;

/**
 * 佣金计算险种明细Service接口
 *
 * @author imc
 * @date 2021-05-26
 */
public interface IImcCommRiskService extends IService<ImcCommRisk> {
    /**
     * 查询佣金计算险种明细
     *
     * @param id 佣金计算险种明细ID
     * @return 佣金计算险种明细
     */
    public ImcCommRisk selectImcCommRiskById(Long id);

    /**
     * 查询佣金计算险种明细列表
     *
     * @param imcCommRisk 佣金计算险种明细
     * @return 佣金计算险种明细集合
     */
    public List<ImcCommRisk> selectImcCommRiskList(ImcCommRisk imcCommRisk);

    /**
     * 新增佣金计算险种明细
     *
     * @param imcCommRisk 佣金计算险种明细
     * @return 结果
     */
    public int insertImcCommRisk(ImcCommRisk imcCommRisk);

    /**
     * 修改佣金计算险种明细
     *
     * @param imcCommRisk 佣金计算险种明细
     * @return 结果
     */
    public int updateImcCommRisk(ImcCommRisk imcCommRisk);

    /**
     * 批量删除佣金计算险种明细
     *
     * @param ids 需要删除的佣金计算险种明细ID
     * @return 结果
     */
    public int deleteImcCommRiskByIds(Long[] ids);

    /**
     * 删除佣金计算险种明细信息
     *
     * @param id 佣金计算险种明细ID
     * @return 结果
     */
    public int deleteImcCommRiskById(String id);

    /**
     * 查询险种明细列表
     * @param commRiskForm
     * @return
     */
    List<CommRiskVo> selectCommRiskVoList(CommRiskForm commRiskForm);

    /**
     * 险种明细添加保单查询
     * @param policyCode
     * @return
     */
    List<CommRiskVo> commOrder(String policyCode,Long commId);

    /**
     * 添加保单到险种明细
     * @param orderRiskIds
     * @return
     */
    int addToCommRisk(Long commId,List<Long> orderRiskIds);

    /**
     * 校验佣金保单主状态
     * @param commId
     * @return
     */
    boolean checkCommStatus(Long commId);
}
